package matse11.lspiel;



import android.app.Activity;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;



public class Spiel extends Activity{
	private Logik logik;
	private Spieler sp1;
	private Spieler sp2;
	private static short[][] feld;
	private static short[][] akFeld;
	private static short[][] nFeld;
	private static int zug;

	
	public Spiel(Spieler pSp1, Spieler pSp2) {
		this.sp1=pSp1;
		this.sp2=pSp2;
		feld = new short[4][4];
		akFeld  = new short[4][4];
		nFeld = new short[4][4];
	}
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setContentView((R.layout.menuview));
		Button newGame = (Button) findViewById(R.id.newgamebtn);
		newGame.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				starteSpielView();
			}
		});
		
		
		
	}
	
	public void starteSpielView(){
		setContentView(new SpielView(this));
	}
	
	public void setzeEinenLStein(){
		int spieler = zug%2;
		if(spieler == 0){
			spieler = 2;
		}
		for(int i=0; i<4; i++){
			for(int j=0; j<4; j++){
				akFeld[i][j] = 0;
				if(feld[i][j] == spieler){
					akFeld[i][j] = feld[i][j];
				}
			}
		}
	}
	
	public boolean setzeNStein(int zeile, int spalte){
		if(feld[zeile][spalte] == -1){
			for(int i=0; i<4; i++){
				for(int j=0; j<4; j++){
					nFeld[i][j] = 0;
					}
				}
			nFeld[zeile][spalte] = -1;
			return true;
			}
		else{
			return false;
		}
	}
	public void erstelleNeuesFeld(){
		int spieler = zug%2;
		if(spieler == 0){
			spieler = 2;
		}
		if(logik.moeglicherZugRichtig(feld, akFeld,nFeld) == 1 || logik.moeglicherZugRichtig(feld, akFeld, nFeld) == 2){
			for(int i=0; i<4; i++){
				for(int j=0; j<4; j++){
					if(feld[i][j] == spieler){
						feld[i][j] = 0;
					}
					if(akFeld[i][j]!=0){
						feld[i][j]=(short)spieler;
					}
				}
			}
		}
		
	}
	public static short getZug(){
		return (short) zug;
	}
	public static short[][] getFeld(){
		return feld;
	}
	public static short[][] getAkFeld(){
		return akFeld;
	}

}